home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Database How-To / Visual Basic 4 Database - How-to (The Waite Group)(1995).iso / password.fr_ / password.fr
Text File  |  1995-07-06  |  6KB  |  200 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Passworder"
  5.    ClientHeight    =   2760
  6.    ClientLeft      =   1080
  7.    ClientTop       =   1515
  8.    ClientWidth     =   4980
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   0
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    Height          =   3165
  19.    Left            =   1020
  20.    LinkTopic       =   "Form1"
  21.    ScaleHeight     =   2760
  22.    ScaleWidth      =   4980
  23.    Top             =   1170
  24.    Width           =   5100
  25.    Begin VB.CommandButton cmdClose 
  26.       Caption         =   "Cl&ose"
  27.       Height          =   555
  28.       Left            =   2520
  29.       TabIndex        =   7
  30.       Top             =   1920
  31.       Width           =   1755
  32.    End
  33.    Begin VB.CommandButton cmdChangePwd 
  34.       Caption         =   "&Change Password"
  35.       Height          =   555
  36.       Left            =   480
  37.       TabIndex        =   6
  38.       Top             =   1920
  39.       Width           =   1755
  40.    End
  41.    Begin VB.ComboBox cboUsers 
  42.       Height          =   300
  43.       Left            =   2160
  44.       Sorted          =   -1  'True
  45.       Style           =   2  'Dropdown List
  46.       TabIndex        =   5
  47.       Top             =   360
  48.       Width           =   2115
  49.    End
  50.    Begin VB.TextBox txtVerify 
  51.       Height          =   285
  52.       Left            =   2160
  53.       TabIndex        =   4
  54.       Top             =   1320
  55.       Width           =   2115
  56.    End
  57.    Begin VB.TextBox txtNew 
  58.       Height          =   285
  59.       Left            =   2160
  60.       TabIndex        =   3
  61.       Top             =   840
  62.       Width           =   2115
  63.    End
  64.    Begin VB.Label Label4 
  65.       Alignment       =   1  'Right Justify
  66.       AutoSize        =   -1  'True
  67.       BackColor       =   &H00C0C0C0&
  68.       Caption         =   "&Retype to verify:"
  69.       Height          =   195
  70.       Left            =   540
  71.       TabIndex        =   2
  72.       Top             =   1380
  73.       Width           =   1425
  74.    End
  75.    Begin VB.Label Label3 
  76.       Alignment       =   1  'Right Justify
  77.       AutoSize        =   -1  'True
  78.       BackColor       =   &H00C0C0C0&
  79.       Caption         =   "&New password:"
  80.       Height          =   195
  81.       Left            =   630
  82.       TabIndex        =   1
  83.       Top             =   900
  84.       Width           =   1305
  85.    End
  86.    Begin VB.Label Label1 
  87.       Alignment       =   1  'Right Justify
  88.       AutoSize        =   -1  'True
  89.       BackColor       =   &H00C0C0C0&
  90.       Caption         =   "&User:"
  91.       Height          =   195
  92.       Left            =   1410
  93.       TabIndex        =   0
  94.       Top             =   420
  95.       Width           =   465
  96.    End
  97. End
  98. Attribute VB_Name = "Form1"
  99. Attribute VB_Creatable = False
  100. Attribute VB_Exposed = False
  101. Option Explicit
  102.  
  103. #If Win32 Then
  104.     Private Declare Function GetWindowsDirectory Lib "Kernel32" _
  105.         Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, _
  106.         ByVal nSize As Long) As Long
  107. #Else
  108.     Private Declare Function GetWindowsDirectory Lib "Kernel" _
  109.         (ByVal lpBuffer As String, _
  110.         ByVal nSize As Integer) As Integer
  111. #End If
  112.  
  113. Private db As DATABASE
  114.  
  115. Private Sub Form_Load()
  116.     Dim myUser As String, myPass As String
  117.     Dim i As Integer
  118.     Dim winDir As String * 128
  119.     Dim dirLen As Integer
  120.     Dim dbName As String
  121.     
  122.     ' On Error GoTo LoadError
  123.     
  124.     ' Get the Windows directory and set the INI path.
  125.     dirLen = GetWindowsDirectory(winDir, 128)
  126.     If dirLen = 0 Then Error 32767
  127.     DBEngine.IniPath = Left$(winDir, dirLen) & "\VBDBHT.INI"
  128.     
  129.     ' Set the user and passwords for initial login.
  130.     myUser = "Admin"
  131.     myPass = "theboss"
  132.     DBEngine.DefaultUser = myUser
  133.     DBEngine.DefaultPassword = myPass
  134.  
  135.     ' Get the database name and open the database.
  136.     dbName = DataPath() & "\CHAPTER.09\ORDERS.MDB" ' DataPath() is in READINI.BAS
  137.     Set db = DBEngine.Workspaces(0).OpenDatabase(dbName)
  138.  
  139.     ' Fill the list box on the form.
  140.     FillUserList
  141.  
  142. Exit Sub
  143.  
  144. LoadError:
  145.     MsgBox Err.Description, vbCritical
  146. End
  147.  
  148. End Sub
  149.  
  150. Sub FillUserList()
  151.     Dim usr As User
  152.  
  153.     For Each usr In DBEngine.Workspaces(0).Users
  154.         If UCase$(usr.Name) <> "CREATOR" And UCase$(usr.Name) <> "ENGINE" And UCase$(usr.Name) <> "ADMIN" Then
  155.             cboUsers.AddItem usr.Name
  156.         End If
  157.     Next
  158. End Sub
  159.  
  160. Private Sub cmdChangePwd_Click()
  161.     Dim ws As Workspace
  162.  
  163.     On Error GoTo ChangeError
  164.  
  165.     If cboUsers.ListIndex = -1 Then Error 32765
  166.     If txtNew = "" Then Error 32766
  167.     If Len(txtNew) > 14 Then Error 32764
  168.     If txtNew <> txtVerify Then Error 32767
  169.     DBEngine.Workspaces(0).Users(cboUsers.TEXT).NewPassword "", txtNew
  170.     MsgBox "Password changed for " & cboUsers.TEXT, vbInformation
  171.     txtNew = ""
  172.     txtVerify = ""
  173.     cboUsers.ListIndex = -1
  174. Exit Sub
  175. ChangeError:
  176.     Dim msg As String
  177.     Select Case Err.Number
  178.         Case 32764
  179.             msg = "The password may not be longer than 14 characters"
  180.             txtNew = ""
  181.             txtVerify = ""
  182.         Case 32765
  183.             msg = "You have not selected a user"
  184.         Case 32766
  185.             msg = "You have not entered a new password"
  186.         Case 32767
  187.             msg = "The verify box does not match the new password box"
  188.             txtNew = ""
  189.             txtVerify = ""
  190.         Case Else
  191.             msg = Err.Description & " (" & Err.Number & ")"
  192.     End Select
  193.     MsgBox msg, vbExclamation
  194. End Sub
  195.  
  196. Private Sub cmdClose_Click()
  197.     End
  198. End Sub
  199.  
  200.